#ifndef __CONFIG_H__
#define __CONFIG_H__
#include <Arduino.h>
#include <ArduinoJson.h>
#include <common/file/files.h>
#include <common/util/util.h>
void loadConfigData();
void saveConfigData();

//extern关键字用于声明一个在其他文件中定义的变量或函数，使其可以在多个文件中共享。
extern const char *auth;
extern const char *ssid;
extern const char *password;
extern unsigned char needOTA;
extern const char *aPSsid;
extern const char *aPPassword;
extern const String configFile;
//#define用于定义常量
//#define定义的常量在整个编译单元(通常是一个源文件)中都有效,没有严格的作用域概念
//红外接收管脚定义
//#define RECV_PIN 14
#define RECV_PIN 5
//#define RECV_PIN D5
//舵机控制针脚
#define SERVO_PIN 4
//#define SERVO_PIN D6

extern unsigned int servoDefaultAngle;
extern unsigned int servoDefaultStopTime;

struct ConfigData
{
    //舵机默认转动角度是90度，servoAngle是在90度基础上增加的角度
    unsigned int servoAngle;
    //舵机默认按键暂停时间为500毫米，servoStopTime是在500毫米基础上增加的时间
    unsigned int servoStopTime;
    String md5;
};
extern ConfigData configData;
#endif